package com.sojson.project.filedepot.entity.po;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sojson.base.impl.BaseBean;
import com.sojson.util.DateUtil;
import com.sojson.util.file.enums.EFileStatus;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 文件库Bean
 * 
 * @author liu
 * @date 2022-10-27
 */
@Data
@ApiModel("文件库Bean")
@TableName("sojson_file_depot")
public class FileDepot extends BaseBean {

    private static final long serialVersionUID = 1L;
    /** ID */
    @ApiModelProperty("ID")
    private String id;
    /** 文件的访问路径 */
    @ApiModelProperty("文件的访问路径")
    private String url;
    /** 文件的存储路径 */
    @ApiModelProperty("文件的存储路径")
    private String path;
    /** 表代码 */
    @ApiModelProperty("表代码")
    private Integer tableCode;
    /** 字段名 */
    @ApiModelProperty("字段名")
    private String fieldName;
    /** 文件的分组(例如哪个数据库的哪张表的哪条数据的哪个字段,定期删除同一组中创建时间比较旧的) */
    @TableField("`KEY`")
    @ApiModelProperty("文件的分组(例如哪个数据库的哪张表的哪条数据的哪个字段,定期删除同一组中创建时间比较旧的)")
    private String key;
    /** 状态(1:创建,2:使用中,3:未使用,4.已删除)(定期删除创建时间超过一定时间的和未使用的) */
    @ApiModelProperty("状态(1:创建,2:使用中,3:未使用,4.已删除)(定期删除创建时间超过一定时间的和未使用的)")
    private Integer status;
    /** 校验时间 */
    @ApiModelProperty("校验时间")
    private Date verifyDate;

    public FileDepot() {

    }

    /**
     * 插入初始化
     */
    public void insertInit() {
        setStatus(EFileStatus.CREATE.getCode());
        Date now = DateUtil.nowDate();
        setVerifyDate(now);
    }

}